#ifndef _GAITREC_H
#define _GAITREC_H


#include<iostream>
#include <vector>
#include <map>
#include <chrono>
#include <cmath>
#include <time.h>
#include <sstream>
#include <opencv2/opencv.hpp>
#include <opencv2/highgui/highgui.hpp>
#include <opencv2/opencv.hpp>
#include <opencv2/highgui.hpp>

#include "manager.hpp"
#include "gaitset.h"
#include "feature_redis.h"

using namespace std;
using namespace cv;


typedef struct GaitState {
	GaitState() {
		this->label = "unknown";
	}
	GaitState(Mat frame) {
		this->label = "unknown";
		this->seq.push_back(frame);
	}
	string label;
	vector<Mat> seq;
} GaitState;


void doGaitRecAndPush(Trtyolosort yolosort, GaitSetContext gaitset, map<string, bool>* cams, string id, string origin_url);

#endif